package com.aipartner.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * Chat Response DTO
 * 
 * @author AI Partner Team
 * @since 2024-01-20
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "AI Chat Response")
public class ChatResponse {
    
    @ApiModelProperty(value = "AI reply content", example = "Hello! I'm doing well, thank you for asking.")
    private String reply;
    
    @ApiModelProperty(value = "Message ID", example = "msg_123456")
    private String messageId;
    
    @ApiModelProperty(value = "Conversation ID", example = "conv_123456")
    private String conversationId;
    
    @ApiModelProperty(value = "AI model used", example = "gpt-4")
    private String modelType;
    
    @ApiModelProperty(value = "Response timestamp", example = "2024-01-20T10:30:00")
    private LocalDateTime timestamp;
    
    @ApiModelProperty(value = "Token usage count", example = "150")
    private Integer tokenUsage;
}